package com.ruoyi.flowable.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.flowable.domain.dto.FlowCommentDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 已完成的工作票对象 ended_bill
 *
 * @author ruoyi
 * @date 2022-07-25
 */
@Getter
@Setter
@ApiModel("工作流任务相关-返回参数")
public class EndedBill extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 工作ID */
    @Excel(name = "工作ID")
    private Long workId;

    /** 流程ID */
    @Excel(name = "流程ID")
    private Long flowId;

    /** $column.columnComment */
    @Excel(name = "流程ID")
    private String billName;

    /** 工作表单id */
    @Excel(name = "工作表单id")
    private Long workSheetId;

    /** 表单编号 */
    @Excel(name = "表单编号")
    private String workSheetCode;

    /** 终结流程状态 */
    @Excel(name = "终结流程状态")
    private Long workSheetEndState;

    /** 工作终结日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "工作终结日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date workEndTime;

    /** 工作票终结时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "工作票终结时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 计划开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planBeginTime;

    /** 计划结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planEndTime;

    /** 工作负责人名称 */
    @Excel(name = "工作负责人名称")
    private String workHeadName;

    /** 工作名称 */
    @Excel(name = "工作名称")
    private String workName;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDatetime;

    /** 延期流程状态 */
    @Excel(name = "延期流程状态")
    private Long workSheetDelayState;

    public void setWorkId(Long workId)
    {
        this.workId = workId;
    }

    public Long getWorkId()
    {
        return workId;
    }
    public void setFlowId(Long flowId)
    {
        this.flowId = flowId;
    }

    public Long getFlowId()
    {
        return flowId;
    }
    public void setBillName(String billName)
    {
        this.billName = billName;
    }

    public String getBillName()
    {
        return billName;
    }
    public void setWorkSheetId(Long workSheetId)
    {
        this.workSheetId = workSheetId;
    }

    public Long getWorkSheetId()
    {
        return workSheetId;
    }
    public void setWorkSheetCode(String workSheetCode)
    {
        this.workSheetCode = workSheetCode;
    }

    public String getWorkSheetCode()
    {
        return workSheetCode;
    }
    public void setWorkSheetEndState(Long workSheetEndState)
    {
        this.workSheetEndState = workSheetEndState;
    }

    public Long getWorkSheetEndState()
    {
        return workSheetEndState;
    }
    public void setWorkEndTime(Date workEndTime)
    {
        this.workEndTime = workEndTime;
    }

    public Date getWorkEndTime()
    {
        return workEndTime;
    }
    public void setEndTime(Date endTime)
    {
        this.endTime = endTime;
    }

    public Date getEndTime()
    {
        return endTime;
    }
    public void setPlanBeginTime(Date planBeginTime)
    {
        this.planBeginTime = planBeginTime;
    }

    public Date getPlanBeginTime()
    {
        return planBeginTime;
    }
    public void setPlanEndTime(Date planEndTime)
    {
        this.planEndTime = planEndTime;
    }

    public Date getPlanEndTime()
    {
        return planEndTime;
    }
    public void setWorkHeadName(String workHeadName)
    {
        this.workHeadName = workHeadName;
    }

    public String getWorkHeadName()
    {
        return workHeadName;
    }
    public void setWorkName(String workName)
    {
        this.workName = workName;
    }

    public String getWorkName()
    {
        return workName;
    }
    public void setCreateDatetime(Date createDatetime)
    {
        this.createDatetime = createDatetime;
    }

    public Date getCreateDatetime()
    {
        return createDatetime;
    }
    public void setWorkSheetDelayState(Long workSheetDelayState)
    {
        this.workSheetDelayState = workSheetDelayState;
    }

    public Long getWorkSheetDelayState()
    {
        return workSheetDelayState;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("workId", getWorkId())
            .append("flowId", getFlowId())
            .append("billName", getBillName())
            .append("workSheetId", getWorkSheetId())
            .append("workSheetCode", getWorkSheetCode())
            .append("workSheetEndState", getWorkSheetEndState())
            .append("workEndTime", getWorkEndTime())
            .append("endTime", getEndTime())
            .append("planBeginTime", getPlanBeginTime())
            .append("planEndTime", getPlanEndTime())
            .append("workHeadName", getWorkHeadName())
            .append("workName", getWorkName())
            .append("createDatetime", getCreateDatetime())
            .append("workSheetDelayState", getWorkSheetDelayState())
            .toString();
    }




}
